package com.jingbian.cppccbackend.service.admin;

import com.jingbian.cppccbackend.entity.Activities;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jingbian.cppccbackend.entity.vo.PageVO;

import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author yezi
 * @since 2025-02-14
 */
public interface ActivitiesService extends IService<Activities> {

    PageVO<Activities> getActivities(Integer pageNum, Integer pageSize, String sortType, String startDate, String endDate, String status, String searchText);

    boolean updateStatus(Integer aid, String status);

    Activities getActivityWithUserDetails(Integer aid);

    List<Activities> getActivitiesForExport(String sortType, String startDate, String endDate, String status, String searchText);

    // 获取活动统计数据
    Map<String, Object> getActivityStatistics();

    // 获取活动发布趋势数据
    List<Map<String, Object>> getActivityTrend(String startDate, String endDate);

    // 导出活动变化趋势数据
    byte[] exportTrendData(String startDate, String endDate) throws IOException;
}
